///////////////////////////////////////////////////////////
//  DataFactory.h
//  Implementation of the Class DataFactory
//  Created on:      22-Aug-2013 11:59:24 PM
//  Original author: Jakkaphan Aiemcharoenjit
///////////////////////////////////////////////////////////

#if !defined(EA_73A0A6FF_E7D2_4008_A6A3_58AA72766354__INCLUDED_)
#define EA_73A0A6FF_E7D2_4008_A6A3_58AA72766354__INCLUDED_

#include "Item.h"
#include "IHeader.h"
#include "IChoices.h"
#include "IPages.h"
#include "IData.h"
#include "IBool.h"
#include "IInt.h"
#include "IDouble.h"
#include "IString.h"

namespace Data
{
class DataFactory
{

protected:
	DataFactory();
	virtual ~DataFactory();

public:
	static IItem* CreateItem(const String_t& name = _T(""), IData::DataType _type = IData::INT_T);
	static IHeader* CreateHeader(const String_t& name = _T(""));
	static IPage* CreatePage(IPage::PageType _type = IPage::CHOICEPAGE_T);
	static IPages* CreatePages();

};
}
#endif // !defined(EA_73A0A6FF_E7D2_4008_A6A3_58AA72766354__INCLUDED_)
